feat: add logging setting#147
Conversation
maxjamchuk
left a comment
There was a problem hiding this comment.
Отличная идея добавить единый конфиг логирования. Перед мержем необходимо исправить замечания с лейблами CAUTION и WARNING (disable_existing_loggers=True). Остальные комментарии — рекомендательные.
app/settings.py
Outdated
| # Logging | ||
| LOGGING = { | ||
| "version": 1, | ||
| "disable_existing_loggers": True, |
There was a problem hiding this comment.
Warning
"disable_existing_loggers": True — это часто ломает/глушит логи Django и сторонних библиотек (в т.ч. django.request, django.server), потому что “существующие логгеры” отключаются, если их явно не описать в конфиге.
Рекомендация: либо поставить False, либо добавить явные секции loggers для django, django.request, etc., чтобы не потерять важные сообщения/стектрейсы.
| }, | ||
| "handlers": { | ||
| "console": { | ||
| "class": "logging.StreamHandler", |
There was a problem hiding this comment.
Tip
handler logging.StreamHandler по умолчанию пишет в stderr. В контейнерах обычно ожидают stdout. Можно явно задать stream: "ext://sys.stdout" (или оставить как есть, если в проекте принято stderr).
| "disable_existing_loggers": True, | ||
| "formatters": { | ||
| "default": { | ||
| "format": "[{asctime}] #{levelname:8} {name}:{lineno}:{funcName} - {message}", |
There was a problem hiding this comment.
Tip
форматтер сейчас очень “шумный” ({lineno}:{funcName}) и при DEBUG=True будет много логов. Это ок для дев-режима, но в проде обычно выбирают уровень INFO (а не WARNING), плюс отдельные правила для django.request (например, 4xx/5xx). Можно подумать над более “продуктовым” дефолтом уровня/логгеров.
There was a problem hiding this comment.
Warning
пересмотреть disable_existing_loggers=True, чтобы не потерять системные логи Django/библиотек.
Добавлена настройка для вывода логов в консоль.